Conversation
There was a problem hiding this comment.
Необходимо исправить: эта директория лишняя в проекте. Необходимо убрать её из ветки и добавить в .gitignore в корне проекта
There was a problem hiding this comment.
Необходимо исправить: эта директория лишняя в проекте. Необходимо убрать её из ветки и добавить в .gitignore в корне проекта
3_task/pages/base_page.py
Outdated
| self.driver = driver | ||
| self.wait = WebDriverWait(driver, timeout) | ||
|
|
||
| def find(self, locator): |
There was a problem hiding this comment.
Необходимо исправить здесь и далее: не хватает аннотации allure для шага - allure.step
3_task/pages/feed_page.py
Outdated
| def refresh(self): | ||
| self.driver.refresh() |
There was a problem hiding this comment.
Необходимо исправить здесь и далее: все вызовы к driver/WebDriverWait должны быть описаны в методах BasePage, а затем вызываться через эти методы в *Page-классах через наследование
3_task/tests/test_feed.py
Outdated
|
|
||
|
|
||
| @allure.title("Счётчики заказов увеличиваются") | ||
| def test_orders_counters(feed_page): |
There was a problem hiding this comment.
Нужно исправить здесь и далее: Для корректного запуска тестов необходимо код с шагами теста поместить в тестовый метод (нейминг начинается с test_), а метод - в тестовый класс (нейминг начинается с Test). Необходимо привести к такому формату все модули внутри пакета tests
3_task/tests/test_feed.py
Outdated
| total_before = feed_page.get_total_orders() | ||
| today_before = feed_page.get_today_orders() | ||
|
|
||
| feed_page.refresh() |
There was a problem hiding this comment.
Необходимо исправить здесь и далее: тут явно не хватает шагов с оформлением заказа
3_task/tests/test_feed.py
Outdated
|
|
||
| @allure.title("Заказ отображается в разделе «В работе»") | ||
| def test_order_in_progress(feed_page): | ||
| assert feed_page.has_orders_in_progress() |
There was a problem hiding this comment.
Необходимо исправить здесь и далее: тут явно не хватает шагов с оформлением заказа
3_task/tests/test_main_functional.py
Outdated
| @allure.title("Переход по клику на «Конструктор»") | ||
| def test_open_constructor(main_page): | ||
| main_page.open_constructor() | ||
|
|
||
|
|
||
| @allure.title("Переход по клику на «Лента заказов»") | ||
| def test_open_feed(main_page): | ||
| main_page.open_feed() | ||
|
|
||
|
|
||
| @allure.title("Открытие и закрытие модального окна ингредиента") | ||
| def test_ingredient_modal(main_page): | ||
| main_page.open_ingredient_modal() | ||
| main_page.close_ingredient_modal() | ||
| main_page.wait_modal_closed() |
There was a problem hiding this comment.
Необходимо исправить: этим тестам не хватает шагов и проверок
3_task/conftest.py
Outdated
| @pytest.fixture | ||
| def main_page(driver): |
There was a problem hiding this comment.
Нужно исправить: фикстуры не занимаются выполнением примитивной логики, они выполняют сложную логику предусловий\постусловий и вычислений. Эти объекты можно сразу создавать в тестах или фикстурах
3_task/tests/test_feed.py
Outdated
| with allure.step("Получение ингредиентов"): | ||
| ingredients = requests.get( | ||
| f"{BASE_URL}/api/ingredients" | ||
| ).json()["data"] | ||
|
|
||
| ingredient_ids = [ingredients[0]["_id"]] | ||
|
|
||
| with allure.step("Оформление заказа через API"): | ||
| response = requests.post( | ||
| f"{BASE_URL}/api/orders", | ||
| json={"ingredients": ingredient_ids} | ||
| ) | ||
| assert response.status_code == 200 |
There was a problem hiding this comment.
Необходимо исправить: оформление заказа - это ключевой шаг теста, он должен быть выполнен на стороне UI
3_task/tests/test_feed.py
Outdated
| ingredients = requests.get( | ||
| f"{BASE_URL}/api/ingredients" | ||
| ).json()["data"] | ||
|
|
||
| ingredient_ids = [ingredients[0]["_id"]] | ||
|
|
||
| with allure.step("Создание заказа"): | ||
| response = requests.post( | ||
| f"{BASE_URL}/api/orders", | ||
| json={"ingredients": ingredient_ids} | ||
| ) | ||
| assert response.status_code == 200 | ||
|
|
There was a problem hiding this comment.
Необходимо исправить: оформление заказа - это ключевой шаг теста, он должен быть выполнен на стороне UI. Шагов с api в теле теста быть не должно
No description provided.